// type 类型=
//
// 联合类型  |  可以将两个类型联合起来 但是在调用的时候 只能调用共有的属性
// 交叉类型  &   可以将两个类型联合起来  但是在调用的时候 所有的属性都可以调用

interface Dog {
  name: string;
  wangwang: string;
}

interface Cat {
  name: string;
  miaomiao: string;
}

// Animal 表示一个联合类型
// type Animal = Dog | Cat;
type Animal = Dog & Cat;

function getAnimal(animal: Animal) {
  console.log(animal.name);
  console.log(animal.wangwang);
  console.log(animal.miaomiao);

}

// let a: Dog = {
//   name: '啊啊啊',
//   wangwang: '旺旺'
// };

let animal: Animal ={
  name:'123',
  wangwang:'123',
  miaomiao: '123'
};

getAnimal(animal);
